/* Copyright Thanh-Trung Pham, JAIST, 2012 */

package jp.ac.jaist.model;

/**
 *
 * @author Thanh-Trung Pham
 */
public class RMExecutionTransition {

    private int m_iID;
    private double m_dTransitionProbability;
    private RMExecutionState m_oSourceState;
    private RMExecutionState m_oDestinationState;

    /**
     * The constructor.
     * @param sourceState the source state.
     * @param destinationState the destination state.
     * @param transitionProbability  the transition probability.
     */
    public RMExecutionTransition(RMExecutionState sourceState, RMExecutionState destinationState, double transitionProbability) {
        m_iID = -1;
        m_oSourceState = sourceState;
        m_oDestinationState = destinationState;
        m_dTransitionProbability = transitionProbability;
    }

    /**
     * Set the state ID.
     * @param id the state iD.
     */
    public void setID(int id){
        m_iID = id;
    }

    /**
     * Get the destination state.
     * @return the destination state.
     */
    public RMExecutionState getDestinationState() {
        return m_oDestinationState;
    }

    /**
     * Get the source state.
     * @return the source state.
     */
    public RMExecutionState getSourceState() {
        return m_oSourceState;
    }

    /**
     * Get the transition ID.
     * @return the transition ID.
     */
    public int getID() {
        return m_iID;
    }

    /**
     * Get the transition probability.
     * @return the transition probability.
     */
    public double getTransitionProbability() {
        return m_dTransitionProbability;
    }


}
